A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosures, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
This invention relates generally to the field of information communications. In particular, the invention relates to a method for providing a user with prior knowledge of certain characteristics of a subsequent action that includes data communications.
Different types of communications can occur between two communications devices. For example, a server and a client can exchange messages wirelessly or in a wired system. The communications can require a variety of security measuresxe2x80x94including communications that require no security measures. Among other characteristics of data communications, the expense and wait time associated with different types of actions can vary greatly.
Before the user initiates data communication, the data communication is considered a subsequent action. Knowledge of subsequent action characteristics prior to initiating an action enables a user to evaluate cost, security, time, network speed, and data communications message size limitations when determining whether to initiate the subsequent action. Methods of informing users of these characteristics known in the art include printed guides and manuals, help directories, and product and service support centers. The guides, manuals, and service support centers do not inform the user directly through the communications device. The help directories require the user to invoke the help menu, to identify and select the appropriate help topic, and to read and understand the help topic description.
Therefore what is desired is an improved system, apparatus, and method that enables users to make an informed selection before initiating data communications. The improved method informs the user directly through the communications device with minimal required user action. An improved system, apparatus, and method for informing the user of subsequent action characteristics is also desired for handheld device access to Internet information over relative low bandwidth networks.
Wireless communications provides one method for mobile users to communicate to a wired network. In particular, wireless communications allows consumers to receive and send information. Examples of such wireless networks include cellular phones, pager systems, and satellite systems. The wireless network systems can be broken into relatively high bandwidth and low bandwidth systems. High bandwidth systems are for example satellite systems. Lower bandwidth systems include cellular phones and mobile radio systems. Still lower bandwidth systems include pager networks and low bandwidth packet switched radio systems (e.g., the BellSouth Mobile Data Mobitex(trademark) system).
For users to access information on the Internet using wireless communications, the method in which they access the information is highly dependent on the type of wireless communications available to the user. For example on a high bandwidth network such as a wired network or a satellite system, the usual techniques for browsing data on the Internet are adequate.
An important source of Internet based data is the data accessible through the World Wide Web (referred to as the Web). The following describes the usual techniques for Web browsing. A user selects a web site associated with a URL (Uniform Resource Locator). The URL represents the address of the entry point to the web site (e.g., the home page for the web site). For example, the user may select a web site that supplies restaurant reviews. The user""s computer (the client) makes an HTTP (HyperText Transport Protocol) request to the web server hosting the web site. The client typically needs to make multiple HTTP requests of the web server. For example, to load the restaurant locator home page, multiple HTTP requests are needed to download all the graphics, frame content, etc. Next, the user will typically need to browse through a number of linked pages to get to the page from which a search for restaurants can be made. Even if the user is immediately presented with the desired page, a great deal of information has had to been downloaded from the web site (e.g., graphics, advertisements, etc.). This additional information makes for a visually rich browsing experience. The user fills in the information on this page and selects a search button. The client makes another series of HTTP requests of the web server. The web server supplies the client with the requested information in an HTML formatted web page. The web page typically includes links to more graphics and advertisements that need to be accessed by the client.
For low bandwidth networks this technique does not work well. Too much bandwidth is needed to download the images. Also, low bandwidth networks typically charge per byte transmitted and can be very expensive if large amounts of data are downloaded. Thus, low bandwidth networks are desirable to use for accessing information on the Web but only if the amount of data transferred over the network is small. Specifically for packet data networks, the cost of transmitting messages increases with the number of packets transmitted. The cost of transmitting multiple packet messages is therefore a formidable obstacle for packet data network customer use.
One area in which Web access is becoming more desirable is in handheld devices. Handheld devices are emerging as important computer devices. Handheld devices typically implement a relatively small, but important function set. Examples of such handheld devices are the PalmPilot(trademark) handheld device available from 3COM Corporation, Inc. of Santa Clara, Calif. Examples of the function set supported are address books, calendars, and task lists.
In the past, wireless communications with handheld devices have been performed using wireless modems, such as are available from Novatel Communications, Inc. of Calgary, Alberta, or wireless transceivers for dedicated wireless data access network. Essentially a wireless modem operates in the cellular phone network and supplies approximately 9600 baud bandwidth to the handheld device. This allows the user to access the web at a relatively low bandwidth.
An issue with using handheld devices to access the Web is related to their capabilities. Even if connected to a high bandwidth network, most handheld devices do not have the screen area or the processing power to display the graphics and large amounts of text in a typical web page. However, it is still desirable to support the browsing of information on the Web using handheld devices. It is further desirable that the handheld devices be able to use networks that have relatively low bandwidths.
Some of the methods by which previous systems addressed some of the issues described above are now described.
One method of reducing the amount of data transferred from the web site to the client is to cache the web site data locally on the client. For example, the Netscape Communicator(trademark) browser application caches web pages on the client. Each cached web page is associated with a URL. Thus, when the client requests a web page, the Netscape Communicator browser attempts to use previously cached web pages before downloading the pages from the web site. Another type of caching program is NetAttache(trademark), available from Tympany, Inc. of Mountain View, Calif. The NetAttache program downloads all the web pages from a given web site. The web pages are all cached on the client. A NetAttache server runs locally on the client. A browser can then be used to browse through the local copy of the web pages. The problem with caching is that the pages still need to be retrieved from the server before they can be reused and there can still be a significant number of connections made to the web server.
Alternatively, some programs are customized for accessing specific information from particular web sites. Examples of these programs are Java applets that reside on the client or are served to the client by a server. The applets can then be reused to access information from a web site. An example of a specialized program for accessing specific information is the RealVideo Player from Real Networks, Inc. A problem with these types of programs is that they are very specific to a particular type of content. For example, they do not use standard HTML (hypertext markup language) constructs. This means that web site developers cannot use standard web site development tools to create their sites.
The following summarizes various embodiments and aspects of the invention. A communications device provides a user with a sensory cue that informs the user of certain characteristics of a subsequent action that includes data communication. By informing the user of the data communication characteristics before the user initiates the data communication action, the sensory cue appropriately sets user expectations regarding the data communication characteristics.
For example, one embodiment of the invention is implemented in a portable communications device with a screen. The portable communications device simultaneously displays a wireless link icon next to a user interface graphic element. The user interface element is used to select a wireless transaction. The wireless link icon informs the user that the subsequent action corresponding to the user interface element requires wireless communication and the expense and time associated therewith.
One aspect of the invention provides a method of indicating to a user, via a sensory cue, characteristics of a subsequent action that includes data communications. The method is implemented in a communications device having processing resources. The communications device performs the data communications.
The sensory cue indicates what behavior will occur when a user interface element that initiates the subsequent action is invoked. The communications device processing resources provide the sensory cue to the user before the user initiates the subsequent action. The sensory cue corresponds to a set of data communication characteristics of the subsequent action. More than one sensory cue can be provided for a particular subsequent action. Each of the sensory cues informs the user of a corresponding set of data communication characteristics.
According to some embodiments of the invention, an existing operating system object, such as a button or a hyperlink or other user interface element indicates the subsequent action and can be selected to initiate the subsequent action. The user interface element is accompanied by at least one sensory cue. The sensory cue is embedded into the user interface element.
Subsequent action characteristics can correspond to any feature or combination of features of the data communications included in the subsequent action, or can correspond to any feature or combination of features of the communication path that will be used for exchanging the data. Knowledge of the features enables the user to determine whether to initiate a particular subsequent action, especially where the subsequent action is initiated by transmitting data corresponding to the user interface element from the communications device. The subsequent action characteristics can relate to the mode of transmission, the network type, security measures, the speed of the network, whether the communication is asynchronous, the cost of the subsequent action, and/or data communications message size.
The communications device can include a screen. In conjunction with the screen, the sensory cue can include an image. Each image corresponds to a user interface element. The image can comprise an icon. For some embodiments of the method, each image is disposed proximally to the corresponding user interface element.
For example, the method can be implemented in a palm-sized computer having wireless data communications capability. The screen of the computer shows a user interface graphic element that is selected to initiate the subsequent action data communication. The data communications can correspond to a request for a hyperlink document. The user interface graphic element for this example is a hyperlink corresponding to the hyperlink document. The compact representation of the hyperlink document includes a link type bit. Selection of the hyperlink initiates the data communication.
The subsequent actions corresponding to the hyperlink can include either data communications transmitted wirelessly, or only data transmitted internally within the computer, or data communications transmitted by a wireline connection. For a hyperlink document requiring transmission of wireless messages, the communications device responds to the link type bit by displaying a wireless link icon before the user selects the hyperlink. For this example the sensory cue comprises a wireless link icon. The wireless link icon is also referred to as the xe2x80x9cover the airxe2x80x9d icon.
The wireless link icon informs the user that selection of the corresponding hyperlink will result in wireless data communication. The wireless link icon thereby sets user expectations to provide a better user experience by reducing confusion about the characteristics of the communication system""s subsequent actions.
In many situations the user can select an alternative to the wireless transaction and avoid the expense, in time and money, associated with wireless data communications. In other situations, the user can determine that the wireless data communication is desired despite the greater costs associated therewith. When the wireless communication is desired, the user makes the decision to select the wireless communication only after being informed by the wireless link icon that the time and expense of the wireless communication will be incurred.
For some embodiments, the communications device includes a client that communicates with a server. The subsequent action includes a transaction comprising one or more data communications messages between the server and the client. The data communications comprise packets of data. The packets of data can be securely exchanged between the server and the client. The client can be a wireless client and the server can be a proxy server. A method for securely exchanging the packets of data includes the wireless client encrypting a data encryption key using a proxy server public key to form an encrypted data encryption key.
The data encryption key corresponds to a specific transaction between the wireless client and the proxy server. The wireless client encrypts the data packets included in the subsequent action using the data encryption key to form an encrypted message. The wireless client transmits the encrypted message from the wireless client to the proxy server. For the method of securely exchanging messages, the user interface graphic element can be a hyperlink corresponding to a hyperlink document. The hyperlink document is disposed in a base document. The sensory cue can include a secure link icon indicating to the user security measure attributes for the data communications. The secure link icon and the wireless link icon can be simultaneously displayed proximally to the corresponding user interface element.
A second aspect of the invention provides a communications device including a client. The client includes processing resources adapted to initiate a subsequent data communications action that has characteristics. The subsequent action can include a transaction including transmitting data from the client. The client also includes processing resources adapted to provide a sensory cue to a user prior to the user initiating the subsequent action. The sensory cue corresponds to a set of the subsequent action characteristics. The sensory cue informs the user of a set of the subsequent action characteristics. The client can be a wireless client.
A third aspect of the invention provides a communications system. The communication system includes a source of data, a communications device, and a server. The communications device includes a client as described in the paragraph above. The server communicates with the source of data and the client.